package com.yunkeji.common.enums.app;

import com.yunkeji.common.exception.AppServiceException;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Optional;

/** 通话操作枚举 */
@Getter
@AllArgsConstructor
public enum CallTypeEnum {
    单聊语音(1),
    定向视频(201),
    随机视频(202);
    /** 通话类型（1：语音，201：定向视频视频,202:随机视频）目前只有视频 */
    private Integer code;

    public static CallTypeEnum getCode(Integer code) {
        CallTypeEnum[] values = CallTypeEnum.values();
        Optional<CallTypeEnum> first =
                Arrays.stream(values).filter(item -> item.getCode().equals(code)).findFirst();
        if (first.isPresent()) {
            return first.get();
        } else {
            throw AppServiceException.paramException("通话类型参数异常");
        }
    }
}
